package com.cysoft.third.echarts.component.calendar;

import lombok.Data;

/**
 * @author 玖零
 * @version v0.0.1
 * @project cysoft-third-echarts
 * @package com.cysoft.third.echarts.component.calendar
 * @date 2025/3/13 00:48
 * @desc 设置日历格的样式
 */
@Data
public class CalendarItemStyle {
    /*
日历格子的颜色，默认为 '#fff'
*/
    private String color = "#fff";

    /**
     * 日历格子的描边颜色，默认为 '#ccc'
     */
    private String borderColor = "#ccc";

    /**
     * 日历格子的描边线宽，默认为 1。为 0 时无描边
     */
    private Integer borderWidth = 1;

    /**
     * 日历格子的描边类型。可选值：'solid'、'dashed'、'dotted'，也可以是 number 或者 number 数组，默认为'solid'
     */
    private Object borderType = "solid";

    /**
     * 从 v5.0.0 开始支持，用于设置虚线的偏移量，可搭配 borderType 指定 dash array 实现灵活的虚线效果
     */
    private Integer borderDashOffset;

    /**
     * 从 v5.0.0 开始支持，用于指定线段末端的绘制方式，可选值：'butt'、'round'、'square'，默认为 'butt'
     */
    private String borderCap = "butt";

    /**
     * 从 v5.0.0 开始支持，用于设置 2 个长度不为 0 的相连部分如何连接在一起，可选值：'bevel'、'round'、'miter'，默认为 'bevel'
     */
    private String borderJoin = "bevel";

    /**
     * 从 v5.0.0 开始支持，用于设置斜接面限制比例，只有当 borderJoin 为 miter 时才有效，默认为 10
     */
    private Integer borderMiterLimit = 10;

    /**
     * 图形阴影的模糊大小，配合 shadowColor、shadowOffsetX、shadowOffsetY 一起设置图形的阴影效果
     */
    private Integer shadowBlur;

    /**
     * 阴影颜色，支持的格式同 color
     */
    private String shadowColor;

    /**
     * 阴影水平方向上的偏移距离
     */
    private Integer shadowOffsetX;

    /**
     * 阴影垂直方向上的偏移距离
     */
    private Integer shadowOffsetY;

    /**
     * 图形透明度，支持从 0 到 1 的数字，为 0 时不绘制该图形，默认为 1
     */
    private Double opacity = 1.0;
}
